凌嘉鴻:基於Visual Basic編程語言的“出土文獻釋文資料庫”簡述
基於Visual Basic編程語言的“出土文獻釋文資料庫”簡述
廣東第二師範學院文學院 凌嘉鴻
長期以來,出土文獻語料檢索一直是學界的難題,學界內外用心於此者甚多,成果亦頗可喜。嘉惠學林的網站或工具如漢達文庫、金文通鑒、引得市等,對于出土文獻與古文字研究的促進與推動有目共睹。
隨著信息技術的進步,更得益于國家的大力支持,出土文獻與古文字研究新知駸駸,日新月異。而前舉的成果不管出於集體還是個人,更新都相對滯後。因此學界前輩們轉而將眼光投向在線的數據管理系統,這方面中華書局、華東師範大學、中山大學等有關單位做了許多工作。但學術研究除集體性外,亦有其個體性。一個可以自由編輯、自主更新的個人化出土文獻資料庫更是叫人心馳神往。
可客觀現狀是,大部分從事古文字與出土文獻研究的學者沒有時間與精力學習計算機編程語言,現有的古文字類的計算機輔助工具基本上都是與第三方合作而產生的,獨立自主進行研發的少之又少。這在客觀上導致了這一類計算機輔助工具與實際使用者之間存在著隔閡,或說存在著某些使用障礙,如運行速度較慢、檢索不夠便捷等。
民間將用以搔癢的竹木工具稱爲“不求人”,我們設計下文所述的出土文獻釋文資料庫也有這種“不求人”的意思”。下面作簡單的介紹。
一、編程語言的選擇
目前流行的編程語言有C、C++、Java、Python等,但是這幾類編程語言對開發者的專業程度要求較高。而vb.net(Visual Basic.Net)是以英文單詞爲基礎標識的Basic系編程語言,其邏輯表達接近自然語言(主要是英語),且面向對象,非專業的開發者也能迅速上手使用。所以我們選取了Microsoft Visual Studio 2022作爲開發工具。
这一版本是目前最新的版本,其附加的控件性能最好。其中關鍵的控件——富文本框(richtextbox)——的性能應是歷版最好。2021年暑期,筆者先後嘗試以Visual Basic 6.0與Visual Studio 2015開發“通用型古漢字數據庫”與“通用型出土文獻辭例數據庫”,就因前者的富文本框會壓縮圖片像素,導致體驗度較差而放棄。[1]近日得益于Chat Generative Pre-trained Transformer(ChatGPT)[2]的發佈,乘此東風,我們在Visual Studio 2022中以Visual Basic語言編寫了第一版的“出土文獻釋文資料庫”(V1.0)。
二、窗體
窗體界面如下:
窗體界面分爲左右兩個板塊:檢索框與辭例框。檢索框又分上下兩部分,第一橫欄檢索可以通過輸出法輸入的字符,也就是一般所謂的Unicode字符(包括基本區、擴展A區、擴展B區)。第一橫欄以下是圖片字檢索區,可以通過輸入法或點擊下方的構件(或稱部件)表來輸入構件,從而檢索不在前述Unicode字符中的隸定字。辭例框用來呈現出土文獻的釋文資料。
點擊兩處“查”字按鈕分別可以檢索兩類漢字。點擊“字符字”處的“查”字按鈕,運行效果如下:
我們選擇了清華簡《保訓》篇的前五簡來作爲測試的數據,每個語料源文檔里複製前五簡二十次,相當於錄入了100條簡文,接近一冊清華簡的釋文量。然後將這個語料源文檔複製100次,以此作爲測試的總語料。辭例框每頁顯示五十條辭例。經過測試,即便一次檢出10000條以上的數據,此程序也會在5秒內呈現語料檢索結果。通過界面右上角的“上一頁”“下一頁”翻頁按鈕可以實現對語料結果翻頁。
處理後的語料源如下:
點擊“圖片字”處的“查”字按鈕,效果如下:
此處的中文問號“?”代替若干不能在計算機文件名處輸入的構件。這是一個不得以的折中手段。
複製辭例框任意一個富文本框內容到word文檔內效果如下:
三、檢索的原理
該程序主體文件如下:
(一)“字符字”部分,通過輸入Unicode字符可以直接檢索語料,當檢出的語料中含有“dl”開頭的14位字符編碼時,直接通過字符編碼檢索當前工作目錄下的“images”文件夾中的同名圖片。檢出圖片后插入顯示語料的每個富文本框。顯示的同時設置被檢索字爲高亮紅色加粗的宋體字。
(二)“圖片字”部分,通過輸入構件檢索當前工作目錄下的對應表“Correspondence table”文本文檔,檢出其中每一行的最後十四位字符編碼作爲檢索的關鍵字,以此來檢索語料。檢索語料的同時,通過語料中的字符編碼檢出當前工作目錄下的“images”文件夾中的同名圖片,插入顯示語料的每個富文本框。
四、存在的問題
(一)如不等語料加載完,即對窗體界面做操作,可能導致程序直接關閉。
(二)不能在“字符字”檢索框搜索句號“。”,會導致程序不響應。搜索逗號“,”沒有問題。
(三)需要人工處理語料、制定字符編碼、編寫構件與編碼對應表。這需要較多的人力物力。
(四)功能相對簡單,還不能將學界常用的“集釋”“參考文獻”等類目集成進去。
雖然這一“出土文獻釋文資料庫”還存在不少問題,但瑕不掩瑜,其仍有體積小、運行速度較快、易於自主管理等優點。
值得一提的是,在編製“出土文獻釋文資料庫”過程中,製成了“古文字圖片輸入輔助工具”。目前該工具已升級到V1.2版,且未發現明顯問題。
以上即是我們對“出土文獻釋文資料庫”的簡短介紹。程序草創,考慮不到之處必多。希望前輩學者不吝賜教。德音嘉誨將是我們改進程序的絕好臂助。在此一並申謝。
[1] 從Visual Studio 2010開始,富文本框控件開始支持不壓縮圖片。在之前的版本中,當將圖片插入到富文本框中時,圖片會被自動壓縮以適應富文本框控件的大小。
[2] 一款是人工智能技術驅動的自然語言處理工具,由美國OpenAI研發,於2022年11月30日發佈。
作者联系邮箱:lingjh_gdei@126.com
感谢作者惠赐大作!